package main

import (
    "fmt"
    "runtime"
    // "time"
)

/*
    屏蔽runtime.Gosched()运行结果如下：
        hello
        hello

    没有runtime.Gosched()运行结果如下：
        world
        world
        hello
        hello
    添加time.Sleep(2 * time.Second) //延时1s
        world
        world
        hello
        hello
*/

func main() {
    //创建一个goroutine
    go func(s string) {
        for i := 0; i < 2; i++ {
            fmt.Println(s)
        }
    }("world")

    for i := 0; i < 2; i++ {
        //，让出当前goroutine的执行权限，
        //调度器安排其他等待的任务运行，
        //并在下次再获得cpu时间轮片的时候，
        //从该出让cpu的位置恢复执行。

        runtime.Gosched()  //import "runtime" 包
        fmt.Println("hello")
    }
}
